package com.xuecheng.api.cms;

import com.xuecheng.framework.domain.cms.CmsPage;
import com.xuecheng.framework.domain.cms.request.QueryPageRequest;
import com.xuecheng.framework.domain.cms.response.CmsPageResult;
import com.xuecheng.framework.model.response.QueryResponseResult;
import com.xuecheng.framework.model.response.ResponseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;

/**
 * @author 余小小
 * CMS页面统一管理接口
 */
@Api(value="cms页面管理接口",description = "cms页面管理接口，提供页面的增、删、改、查")
public interface CmsPageControllerApi {

    /**
     * CMS页面分页查询
     * @param page             分页参数
     * @param size             分页个数
     * @param queryPageRequest 请求条件
     * @return 返回的封装的 QueryResponseResult
     */
    @ApiOperation("分页&条件查询页面列表")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "page", value = "页码", required = true, paramType = "path", dataType = "int"),
            @ApiImplicitParam(name = "size", value = "每页记录数", required = true, paramType = "path", dataType = "int")
    })
    public QueryResponseResult cmsPageFindList(int page, int size, QueryPageRequest queryPageRequest);


    //    新增页面
    @ApiOperation("新增页面")
    public CmsPageResult cmsPageAdd(CmsPage cmsPage);

    //    通过页面的id查询页面信息
    @ApiOperation("分通过页面的id查询页面信息")
    CmsPage findCmsPageById(String pageId);

    //    修改页面
    @ApiOperation("修改页面")
    CmsPageResult editPage(String pageId, CmsPage cmsPage);

    //    删除页面
    @ApiOperation("删除页面")
    public ResponseResult  delPage(String pageId);

    //    页面发布
    @ApiOperation("页面发布")
    public ResponseResult  postPage(String pageId);

}
